package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	// 0666 是linux系统中的权限组管理，0666对应： -rw-rw-rw-
	file, err := os.OpenFile("../output.txt", os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)
	if err != nil {
		fmt.Println("文件打开出错", err)
		return
	}
	defer func(file *os.File) {
		err := file.Close()
		if err != nil {
			fmt.Println("文件关闭失败", err)
		}
	}(file)

	// 写入流 -》 缓冲的流
	writer := bufio.NewWriter(file)
	for i := 0; i < 10; i++ {
		writeString, err := writer.WriteString("你好小明\n")
		if err != nil {
			fmt.Println("写入失败： ", writeString, err)
			return
		}
	}
	// 刷新数据
	err = writer.Flush()
	if err != nil {
		fmt.Println("刷新失败： ", err)
		return
	}
	fmt.Printf(os.FileMode(0666).String())
}
